The present invention relates generally to scripting tools, and, more particularly to a scripting tool whose operation and user interface are based upon a definition file.
Scripts are a series of commands which are executed by a program called an interpreter. Each time the interpreter executes a script, the interpreter converts each script command into series of operations and functions which may be executed by a processor, and then causes the processor to execute the series of operations and functions. As a result of the interpreter converting the script each time the script is executed, scripts tend to execute more slowly than compiled programs. However, if a script is modified, then the change will be effected the next time the interpreter executes the script. With a compiled program, the program would have to be recompiled before the change would take effect. As a result, scripts tend to be easier and quicker to modify than compiled programs.
One environment in which the ease of script modification is advantageous is in the testing of computer devices such as SCSI host adapters, and SCSI devices. For example, a technician may desire to see how the computer device responds to slightly different parameters. By using scripts, the technician may quickly modify the script with the different parameters and re-execute the script to see how the computer device responds.
While scripts provide a technician with a quick way of testing computer devices, scripting systems have historically suffered from a variety of problems. For example, script writing has historically required a technician which is not only fluent in the scripting language but also is quite knowledgeable about parameter ranges which are supported by the device under test. Moreover, scripting systems especially for testing SCSI devices have historically been limited to computer devices having similar characteristics. In particular, scripting systems have historically utilized low level device specific interfaces in order to test the computer device. As a result, each new computer device requires a new scripting systems be developed or purchased. Moreover, prior scripting systems did not provide an easy mechanism for the technician to determine exactly how the computer device responded to a given command of a test script.
In light of the above problems suffered by scripting systems, there is clearly a need for a scripting tool which (i) provides an environment that eases the writing of scripts, (ii) may be used to test a variety of computer devices, and (iii) provides a technician with a mechanism to determine how a computer device responds to a given command of a test script.
In accordance with one embodiment of the present invention, there is provided a method of testing a controller and a device coupled to the controller. One step of the method includes executing a first script command of a test script. Another step of the method includes transferring test data to the controller via a generic controller interface in response to the executing step. The method also includes the steps processing the test data in response to the transferring step, and generating status information concerning the controller and the device in response to the processing step. Moreover, the method includes the step of receiving the status information from the controller via the generic controller interface.
Pursuant to another embodiment of the present invention, there is provided a testing system that includes a controller, a device driver for the controller, and a processor. The controller is operable to control a device coupled thereto. The device driver is operable to provide a generic interface for data transfers to and from the controller. The processor is coupled to the controller and is operable to execute a test script having a plurality of script commands. Moreover, the processor is operable to transfer test data to the controller via the generic interface of the device driver in response to executing a first script command of the plurality of script commands. The processor is also operable to receive status information from the controller via the controller generic interface.
Pursuant to yet another embodiment of the present invention, there is provided a computer readable medium for storing instructions. The instructions when executed by a processor cause the processor to execute a test script having a plurality of script commands. The instruction when executed by the processor also cause the processor to transfer test data to a controller via a controller generic interface in response to executing a first script command of the plurality of script commands. Moreover, the instruction when executed by the processor further cause the processor to receive status information from the controller via the controller generic interface in response to the controller processing the test data.
It is an object of the present invention to provide an new scripting method and apparatus.
It is an object of the present invention to provide an improved scripting method and apparatus.
It is yet another object of the present invention to provide a scripting method and apparatus for testing computer devices.
It is yet further object of the present invention to provide a scripting method and apparatus for testing SCSI devices.
It is still another object of the present invention to provide a scripting method and apparatus in which allowable parameter value ranges may be easily modified.
It is still yet another object of the present invention to provide a scripting environment in which test scripts may be executed and created.
It is yet a further object of the present invention to provide a scripting method and apparatus which may be utilized to test a variety of computer devices.
Another object of the present invention is to provide a scripting method and apparatus in which a user may easily relate the results of executing a script command with the script command that caused the results.
The above and other objects, features, and advantages of the present invention will become apparent from the following description and the attached drawings.